"""记录常见错误"""

"""1. ModuleNotFoundError: No module named '...'
模块名不正确
如果看到上面的错误提示含有:
app_config = AppConfig.create(entry)
说明是 INSTALLED_APPS  中的模块名错误
"""


"""# 2. django项目中的引用, 从项目根的下一级开始找
# 例如
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.jinja2.Jinja2',
        # 'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'environment': 'utils.jinja2_env.environment',  # 这里从utils开始写
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]"""

"""3. 如果静态文件找不到  css js ...  报404,
配置文件中
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
html文件中, 文件引用路径是否以 /static/ 开头
<link rel="stylesheet" type="text/css" href="/static/css/reset.css">"""

"""4. django.core.exceptions.ImproperlyConfigured: AUTH_USER_MODEL refers to model 'users.User' that has not been installed
INSTALLED_APPS 中没有注册user子应用"""

"""5. ValueError: Unable to configure filter 'require_debug_true': Cannot resolve 'django.utils.logs.RequireDebugTrue': No module named 'django.utils.logs'
配置文件中需要先导入  sys 模块:  配置文件中导入 ->  import sys"""


"""6. git提交的用户名 要设置一下,
进入git库根目录,
git config user.name ...
git config user.email ..."""


"""7. 在生成用户模型迁移文件的时候(python manage.py makemigrations)
ImportError: No module named 'users'
要修改 manage.py 文件中的 配置文件名字
把 meiduo_mall.settings   改成  meiduo_mall.dev"""


"""8. ImportError: No module named 'utils.jinja2_env'
项目中文件名为: utils/jinja.py,  文件名不正确"""

"""9. ValueError: Unable to configure filter 'require_debug_true': Cannot resolve 'django.utils.logs.RequireDebugTrue': No module named 'django.utils.logs'

LOGGING = {
    # ...
    'filters': {  # 对日志进行过滤
        'require_debug_true': {  # django在debug模式下才输出日志
            '()': 'django.utils.logs.RequireDebugTrue',  # 这一句配置错误, 多了字母 s
            '()': 'django.utils.log.RequireDebugTrue',  # 正确写法
        },
    }
    # ...
}
"""
"""10. TypeError: as_view() takes 1 positional argument but 2 were given
路由中, 类视图.as_view(),  没有加(),  没有加小括号"""

"""11. Error 61 connecting to 127.0.0.1:6379. Connection refused.
redis没有启动"""

"""12. value is not an integer or out of range
出错代码: redis_client.set(key, 100, value)
设置带过期时间的key, 需要使用 setex方法
正确代码: redis_client.setex(key, 100, value)"""

"""13. Unrecoverable error: VersionMismatch('Redis transport requires redis-py versions 3.2.0 or later. You have 3.0.1',)
redis版本不匹配
pip install redis==3.2.0"""

"""14. celery 项目的包名不能叫 celery
如果与系统包同名,则不能导入  Celery."""

"""15. from main import send_sms_code   报错
在dev.py 配置文件中添加导包路径
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
...
sys.path.insert(0, os.path.join(BASE_DIR, '../celery_task'))"""

"""
16. [Vue warn]: Error in mounted hook: "ReferenceError: getCookie is not defined"
没有导入  comment.js文件, 或者导入位置不正确
"""

"""删除表

查看外键约束是否起效,
SELECT @@FOREIGN_KEY_CHECKS;

设置外键约束失效
SET FOREIGN_KEY_CHECKS=0;

删除表
drop table tb_books;

设置外键约束起效
SET FOREIGN_KEY_CHECKS=1;

重新生成表的步骤:

先生成空表
1, python manage.py migrate

取消外键约束
2,SET FOREIGN_KEY_CHECKS=0;

导入数据文件
3, source xxx.sql   <area.sql 和 goods_data_new.sql>

设置外键约束
4,SET FOREIGN_KEY_CHECKS=1;"""

"""
重定向地址:
1, 重定向到绝对地址
redirect('')
1, 换主机    http://
2, 不换主机, 换路径(以斜杠开头)   '/..../'
3, 不换主机, 不换路径, 增加相对路径(不以斜杠开头)  '..../'
"""